<?php
/**
 * Login Controller. Executa todas as ações de autenticação do usuário.
 * @author Emanuel Melo e Renato Lenz
 * @package PC4_Controlador
 */
class PC4_Ajax_Login extends PC4_Controlador_APP {
	/**
	* Construtor.
	* @return object
	*/
	function __construct($porteiro = null, $filtros = array()){
		parent::__construct($filtros); // Chama o construtor da PC4_Controlador_APP.		
	}
	/**
	 * Inicializa o controlador uma vez que o modelo depende da inicializacao do framework
	 * @param $porteiro
	 */
	function init($porteiro = null){
		if (empty($porteiro)) {
			$this->porteiro = new TICE_Util_AutenticadorSessaoAtivo();
		}
		else {
			$this->porteiro = $porteiro;
		}
	}
	
	/**
	 * Verifica se as informações enviadas pelo usuário são validas ou não.
	 */
	function logar(){
		$ok = $this->porteiro->logar($_POST[$this->porteiro->campoLogin], $_POST['senha']);
		if ($ok) {
			$resultado = array('resultado' => 1, 'usuario' => $this->porteiro->getUsuario(), 'sessao' => $this->porteiro->nomeSessao);
		}
		else {
			$resultado = array('resultado' => 0, 'erros' => implode('<br />', $this->porteiro->getErros()));
		}
		echo json_encode($resultado);
	}
	
	/**
	 * Encerra a sessão
	 */
	function logout($redireciona = false) {
		$this->porteiro->logout();
		if ($redireciona) {
			redirect($_SERVER['HTTP_REFERER']);
		}
		else {
			echo true;
		}
	}
		
}

/* End of file login.php */
/* Location: ./system/application/controllers/login */